2 <TITLE>Double hashing: insertion
7 <A HREF="../../images/handbook.gif"><IMG SRC="../../images/handbook2.gif" align=left></A>
8 <A HREF="../../hbook.html">
9 <IMG SRC="../../images/home_g.gif" hspace = 15 vspace = 4 ALT = "[Home]"></A><BR>
10 <A HREF="../../search_a.html">
11 <IMG SRC="../../images/chapter_g.gif" hspace = 15 vspace = 4 ALT = "[Chapter]"></A><BR>
12 <A HREF="../../expand.html">
13 <IMG SRC="../../images/contents_g.gif" hspace = 15 vspace = 4 ALT = "[Contents]"></A><BR>
14 <A HREF="335.ins.c.html">
16 <A HREF="335.ins.c.html">
17 <IMG SRC="../../images/prevalg_g.gif" hspace = 15 vspace = 4 ALT = "[Previous Algorithm]"></A><BR>
18 <A HREF="335.srch.c.html">
19 <IMG SRC="../../images/nextalg_g.gif" hspace = 15 vspace = 4 ALT = "[Next Algorithm]"></A><BR>
22 <H2><B>Double hashing: insertion
31 procedure insert( key : typekey; var r : dataarray );
32 var i, inc, last : integer;
35 i := hashfunction( key ) ;
36 inc := increment( key );
37 last := (i+(m-1)*inc) mod m;
38 while (i<>last) and (not empty(r[i]))
39 and (not deleted(r[i])) and (r[i].k<>key) do
41 if empty(r[i]) or deleted(r[i]) then
47 else Error {*** table full, or key already in table ***};
49 </XMP></TD></TR></TABLE>
51 <H3><A HREF="ftp://sunsite.dcc.uchile.cl/pub/users/rbaeza/handbook/algs/3/335.ins.c"><IMG SRC="../../images/ftp.xbm" hspace=10>C</A> source (335.ins.c) <A HREF="ftp://sunsite.dcc.uchile.cl/pub/users/rbaeza/handbook/algs/3/335.ins.p"><IMG SRC="../../images/ftp.xbm" hspace=10>Pascal</A> source (335.ins.p)
54 <IMG SRC="../../images/aw3.gif" align=left><H5><BR>
55 © <A HREF="http://aw.com">Addison-Wesley </A>Publishing Co. Inc.